package com.jsejtman.gastos.service.impl;

import com.jsejtman.gastos.persistence.entity.Frecuencia;
import com.jsejtman.gastos.service.exception.ServiceException;

/**
 * Interfaz con todas las operaciones aplicables a una entidad de datos Entity.
 * 
 * @author jsejtman
 */
public interface IFrecuenciaService {

	/**
	 * Obtiene una entidad de datos Frecuencia a través de su identificador.
	 * 
	 * @param id Identificador de la entidad.
	 * @return Entidad de datos Frecuencia hallada.
	 * @throws ServiceException En caso de problemas.
	 */
	Frecuencia getFrecuenciaById(final Long id) throws ServiceException;

	/**
	 * Graba o actualiza la Frecuencia pasado.
	 * 
	 * @param frecuencia la Frecuencia a grabar.
	 * @throws ServiceException en caso de problemas
	 */
	void saveFrecuencia(final Frecuencia frecuencia) throws ServiceException;

	/**
	 * Borra una frecuencia.
	 * 
	 * @param frecuencia la frecuencia a borrar
	 * @throws ServiceException si ocurre un error.
	 */
	void deleteFrecuencia(final Frecuencia frecuencia) throws ServiceException;

}
